﻿using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using distrilan;
using System.IO;


public partial class admin_Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //se nella sessione non c'e utente amministratore, redirigo l'utente alla pagina di login
        if (SiteUser.IsLoggedAdmin() == false)
            Server.Transfer("index.aspx");
    }

    protected void btnCaricaImmagineAzienda_Click(object sender, EventArgs e)
    {
        string path = "../" + ConfigurationManager.AppSettings["dir_img_azienda"].ToString();

        //se il nome è troppo lungo lo taglio
        String nomeImmagine = FileUpload1.PostedFile.FileName;
        if (nomeImmagine.Length >= 50)
        {
            nomeImmagine = nomeImmagine.Substring(3, 47);
        }

        //salvo su hdd l'immagine
        try
        {
            string toSave = path + "/" + nomeImmagine;
            FileUpload1.PostedFile.SaveAs(Server.MapPath(toSave));
        }
        catch (Exception ex)
        {
            lblMessage.Text = ex.Message;
            lblMessage.Text += " <br/><br/> errore in fase salvataggio immagine della news su disco.<br/> ritentare l'immissione CAMBIANDO NOME ALL'IMMAGINE o contattare l'amministratote";
            lblMessage.CssClass = "lblErrore";
            return;
        }

        String query = "INSERT INTO immagini_azienda (immagine) VALUES ('";
        query += nomeImmagine + "')";

        SqlConnection connection = new SqlConnection(distrilan.Utility.GetDBConnectionString());

        try
        {
            connection.Open();
            SqlCommand cmd = new SqlCommand(query, connection);
            if (cmd.ExecuteNonQuery() != 1)
            {
                lblMessage.Text = "Errore interno al DB: inserimento della news fallito";
                lblMessage.CssClass = "lblErrore";
                return;
            }
        }
        catch (Exception ex)
        {
            Utility.WriteLog("ERRORE"," btnCaricaImmagineAzienda_Click",ex.Message,"","");
            lblMessage.Text = ex.Message;
            lblMessage.CssClass = "lblErrore";
            return;
        }
        finally
        {
            connection.Close();
        }
        lblMessage.CssClass = "lblOk";
        lblMessage.Text = "immagine aziendale caricata con successo";
    }
}
